package com.ydlclass.Transport.message.Response;

import com.ydlclass.Transport.message.Request.RequestPayload;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * 服务提供方发出的响应
 * @Builder 可以使用创建者设计模式来创建实例,一直在...
 * @Author duWenJian
 * @Date 2024/2/20 13:35
 * @Version 1.0
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class YrpcResponse {
    /**
     * 响应id, 以后采用雪花算法生成id
     */
    private long requestId;

    /**
     * 压缩类型 gzip, snappy, none
     */
    private byte compressType;
    /**
     * 序列化类型 jdk, hessian, protobuf
     */
    private byte serializeType;
    /**
     * 时间戳,用于心跳检测时间
     */
    private long timeStamp;
    /**
     * 响应编码
     * 1:成功 2:失败
     */
    private byte responseCode;
    /**
     * 响应体
     */
    private Object responseBody;
}
